#include<stdio.h>
#include<string.h>
int main(){
struct wordline{
	char word[20];
	int number;
};
int n,i=0,j=0,k=0,f,i1,i2,i3=0,i4=1,i5,i6;
char s[1000];
gets(s);
n=strlen(s);
struct wordline arr[100],temp;
for(i=0;i<n;i++){
	if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){
		arr[j].word[k]=s[i];
		k++;
	}
	else{
		if(k>0){
		
		arr[j].word[k]='\0' ;
		j++;
		k=0;
	}
}    
}
if(k>0){
    arr[j].word[k]='\0';
    j++;
}
k=0;
int brr[100];
for(i=0;i<j;i++){
	brr[i]=strlen(arr[i].word);
}
for(i=0;i<j;i++){
	for(f=0;f<brr[i];f++){
		if(arr[i].word[f]>='A'&&arr[i].word[f]<='Z'){
			arr[i].word[f]=arr[i].word[f]+32;
		}
	}
	
}
for(i=0;i<j;i++){
	i3=0;
	i4=1;
	for(f=0;f<j;f++){
		
		if(brr[i]==brr[f]&&i!=f){
			for(i1=0;i1<brr[i];i1++){
				if(arr[i].word[i1]!=arr[f].word[i1]){
				i3++;
			}
				
			
			
			}	
			if(i3==0)
			i4++;
		}
		
		    
		    i3=0;
		
		
	}
	arr[i].number=i4;
	
	
}
for(i=0;i<j-1;i++){
	for(i1=0;i1<j-1-i;i1++){
		if(arr[i1].number<arr[i1+1].number)
		{temp=arr[i1];
		arr[i1]=arr[i1+1];
		arr[i1+1]=temp;
		}
	}
}
for(i=0;i<j-1;i++)
{if(strcmp(arr[i].word,arr[i+1].word)==0)
{for(i1=i;i1<j-1;i1++)
arr[i1]=arr[i1+1];
i--;
j--;
}
}
for(i=0;i<j-1;i++){
	for(i1=0;i1<j-i-1;i1++){
		if(arr[i1].number==arr[i+1].number){
		
		if(strcmp(arr[i1].word,arr[i1+1].word)>0){
			temp=arr[i1];
		arr[i1]=arr[i1+1];
		arr[i1+1]=temp;
	}
			
		}
		
	}
	
}	
	


if(j>=10)
j=10; 

for(i=0;i<j;i++)
printf("%s:%d\n",arr[i].word,arr[i].number);
return 0;

}
     
